//-------JavaScrip window
function openUsuario(){
	Ext.QuickTips.init();
	var dsUsuario=new Ext.data.JsonStore({
		url:'usuario/jsp/usuarioGridJson.jsp',
		root:'usuarioRoot',
		fields:[
			{name: 'idusuario', type: 'string'},
			{name: 'nombre', type: 'string'},
			{name: 'email', type: 'string'},
			{name: 'pass', type: 'string'},
			{name: 'administrador', type: 'string'}
	]});
	dsUsuario.reload();
	var winUsuario = new Ext.Window({
		title:'Usuario',
		closeAction:'destroy',
		width:850,height:500,
		shim:false,
		maximizable:true,
		minimizable:true,
		layout: 'border',
		items:[	{
		xtype:'grid',
		id:'gridUsuario',
		region:'center',
		layout:'fit',
		border:false,
		store:dsUsuario, 
		loadMask:true,
		columns:[new Ext.grid.RowNumberer(),
			{header:'idusuario',width:100, sortable:true,dataIndex:'idusuario'},
			{header:'nombre',width:100, sortable:true,dataIndex:'nombre'},
			{header:'email',width:100, sortable:true,dataIndex:'email'},
			{header:'pass',width:100, sortable:true,dataIndex:'pass'},
			{header:'administrador',width:100, sortable:true,dataIndex:'administrador'}
		],
		viewConfig: {},
		tbar:[{
			text:'Agregar',
			iconCls:'add',
			handler: function(){
				wimFormUsuario('insert');
			}},'-',{
			text:'Modificar',
			id:'btnModificar',
			iconCls:'edit',
			handler:function(){
				var row=Ext.getCmp('gridUsuario').getSelectionModel().getSelected();
				if(row==undefined){
					Ext.example.msg('','Debe seleccionar el registro',2);return;
				}
				wimFormUsuario('update');
			}},'-',{
			text:'Eliminar',
			id:'btnEliminar',
			iconCls:'remove',
			handler:function(){
			var row=Ext.getCmp('gridUsuario').getSelectionModel().getSelected();
				if(row==undefined){
					Ext.example.msg('','Debe seleccionar el registro',2);return;
				}
				 eliminarUsuario();
		}}]
	}
	]});
	winUsuario.show();
}
function wimFormUsuario(operacion){
	var winggg = new Ext.Window({
		title:'Usuario',
		closeAction:'destroy',width:320,height:195,
		shim:false,maximizable:false,minimizable:false,
		layout: 'border',modal:true,
		items:[{
			xtype:'panel',border:false,title:'',region:'center',layout:'absolute',
			bodyStyle: 'color:#15428B;background-color:#D3E1F1;',
			items:[
				{xtype:'label',text:'idUsuario:',x:5,y:5,width:78},
				{xtype: 'combo', x:75,y:5,id: 'idusuario',width:60,allowBlank:false,disabled:true},
				{xtype:'label',text:'nombre:',x:5,y:30,width:78},
				{xtype: 'textfield', x:75,y:30,id: 'nombre',width:225},
				{xtype:'label',text:'email:',x:5,y:55,width:78},
				{xtype: 'textfield', x:75,y:55,id: 'email',width:225},
				{xtype:'label',text:'pass:',x:5,y:80,width:78},
				{xtype: 'textfield', x:75,y:80,id: 'pass',width:225},
				{xtype:'label',text:'administrador:',x:5,y:105,width:78},
				{xtype: 'checkbox', x:75,y:105,id: 'administrador',width:60}
			]
		}],
		buttons:[{text:'Grabar',iconCls:'save',id:'btngrab',disabled:false,handler: function(){usuarioGrabar(winggg,operacion);}},
		{text:'Cerrar',id:'btnCerrar',iconCls:'cancel',disabled:false,handler: function(){winggg.destroy();}}]
		});
		winggg.on('show',function(w){
			if(operacion=='update'){
				var row=Ext.getCmp('gridUsuario').getSelectionModel().getSelected();
                                Ext.getCmp('idusuario').setValue(row.data.idusuario);
				Ext.getCmp('nombre').setValue(row.data.nombre);
				Ext.getCmp('email').setValue(row.data.email);
				Ext.getCmp('pass').setValue(row.data.pass);
				Ext.getCmp('administrador').setValue(row.data.administrador);
			 }
		});
		winggg.show();
}
function usuarioGrabar(winggg,operacion){
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if ( !regex.test(Ext.getCmp('email').getValue()) ){
		Ext.example.msg('','El email es incorrecto',2);
		Ext.getCmp('idusuario').focus();
		return;
	}
	Ext.Ajax.request({url:'usuario/jsp/usuarioSave.jsp', method : 'post',
	params:{
		idusuario:Ext.getCmp('idusuario').getValue(),
		nombre:Ext.getCmp('nombre').getValue(),
		email:Ext.getCmp('email').getValue(),
		pass:Ext.getCmp('pass').getValue(),
		administrador:Ext.getCmp('administrador').getValue(),
		operacion:operacion
	},
	success : function(t, options){
		var json=Ext.decode(t.responseText);
		if(json.resultado!='0'){
			Ext.getCmp('gridUsuario').getStore().reload();
			Ext.example.msg('','informacion grabada',2);
			winggg.destroy();
		}else{alert('No se puede Grabar');}
	},
	error : function(transport){
		alert(transport.responseText);
	}});
}
function eliminarUsuario(){
	Ext.MessageBox.confirm('Confirmar','Est&aacute; Seguro de Eliminar el registro seleccionado?',function(btn){
	if(btn=='yes'){
		var row=Ext.getCmp('gridUsuario').getSelectionModel().getSelected();
		Ext.Ajax.request({url:'usuario/jsp/usuarioSave.jsp', method : 'post',
			params:{
				idusuario:row.data.idusuario,
				nombre:row.data.nombre,
				email:row.data.email,
				pass:row.data.pass,
				administrador:row.data.administrador,
				operacion:'delete'
			},
			success : function(t,opt){
		var json=Ext.decode(t.responseText);
				if(json.resultado!='0'){
					Ext.getCmp('gridUsuario').getStore().reload();
				}else{alert('No se puede eliminar');}
			},
			error : function(transport){
				alert(transport.responseText);
		}});
	}
	});
}
